home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 21 / Cream of the Crop 21 (Terry Blount) (October 1996).iso / compress / zpro227.zip / ZIPRPRO.1 / ZIPRPRO.REV < prev   
Text File  |  1996-06-24  |  66KB  |  1,457 lines

  1.                  ZIP'R Professional For DOS Revision History
  2.  
  3.  
  4. 06-24-96 ■ Version 2.27
  5.  
  6.          . Implemented a fix in a vendor's library for the compression
  7.            routines used for Internal ZIP compression.  STSI regrets to
  8.            report that we found a data-corruption bug in our vendor's
  9.            compression library.  After reporting the bug and waiting
  10.            several weeks, the vendor was finally able to fix the problem.
  11.            We recommend that all current users obtain a copy of the latest
  12.            version of PKUNZIP.EXE, and test any compressed files for
  13.            possible errors.  The data corruption bug appears to be
  14.            somewhat obscure.  In the unlikely event that you do find a bad
  15.            compressed file, PKUNZIP will report a CRC error on the file.
  16.            In this case, you will need to restore the compressed file from
  17.            a recent backup.  We apologize for any inconvenience to our users.
  18.  
  19.  
  20.  
  21. 10-18-95 ■ Version 2.26
  22.  
  23.          . Fixed an obscure problem where the compressed file could be
  24.            accidentally deleted if the following conditions existed:
  25.            PKZip or Internal ZIP was used, Update option was turned ON,
  26.            a leftover user signal file (.U00, etc) existed, a leftover
  27.            program signal file (.P00) did not exist, selective extraction
  28.            and selective exclusion were OFF, and the program was not being
  29.            compressed to a floppy disk.  (It is highly unlikely that a
  30.            leftover .U00 file would exist without a corresponding leftover
  31.            .P00 file.)
  32.  
  33.  
  34. 07-22-95 ■ Version 2.25
  35.  
  36.          . Fixed a problem where the calculation to determine free space
  37.            on the computer user's hard drive was not working properly.
  38.            The value being returned was not declared as a "var" parameter.
  39.            This could cause users to see an error message that there was
  40.            insufficient disk space available on their hard drive.  An error
  41.            message would have been displayed, indicating that they needed
  42.            an extreme amount of hard drive space (usually 37.5 megabytes)
  43.            to properly decompress a file.  Users with large amounts of free
  44.            space on their hard drive were not likely to see this problem.
  45.  
  46.          . Fixed a minor, obscure problem where the Update routine was
  47.            called when using Internal ZIP with Update option during the
  48.            first time that a compressed file archive was created.  This
  49.            was not a problem, and did not affect the compressed file, but
  50.            it did waste a small amount of time the first time that an
  51.            archive file was created.
  52.  
  53.          . Clarified an error message that was displayed when attempting
  54.            to execute ARJ.EXE, LHA.EXE, PKZIP.EXE, or PKUNZIP.EXE, and the
  55.            selected compression program could not be found.  The error
  56.            message now instructs users to modify the corresponding path
  57.            on the Compression Paths screen.
  58.  
  59.          . Non-Revision Note: Verified that ZIP'R Pro For DOS cannot trap
  60.            exit codes from DOS programs executed under Windows, unless the
  61.            "Use Command Processor" setting is turned off.
  62.  
  63.          . Expanded on an error message "Could not calculate the hard
  64.            drive space required to successfully decompress this program..."
  65.            to inform the user that this could be due to a corrupt
  66.            compressed file.
  67.  
  68.          . Changed the behavior of ZIP'R Pro when reporting a PKUNZIP
  69.            error #1 or #11 (or ARJ error #2).  Previously, if this error
  70.            was issued, the first message box would pop-up, asking the user
  71.            whether or not he wanted to continue program execution.  After
  72.            this error message was displayed, a second error message would
  73.            pop-up, reporting the error a second time.  Now, if the first
  74.            message box pops up, the second one is not displayed.
  75.  
  76.          . Fixed a minor display issue where text was being truncated
  77.            on a message box that was issued after PKUNZIP reported an
  78.            error #1 or #11 (or after ARJ issued an error #2).  The text
  79.            stated "Do you want to continue pro" (and was cut off),
  80.            instead of stating "Do you want to continue program execution
  81.            now?".
  82.  
  83.          . Added "Exec Process" and "Child Process" to the message boxes
  84.            that report error levels and exit codes after attempting to
  85.            execute the program, IN commands, or OUT commands.  This will
  86.            allow STSI to better track any potential errors reported by
  87.            customers.
  88.  
  89.          . Fixed a problem where corruption would appear in a message box
  90.            after executing a program if the program generated an exit
  91.            code.
  92.  
  93.          . Added an extra check to make sure that users cannot compress their
  94.            \WINDOWS or \WINDOWS\SYSTEM sub-directories when launching and
  95.            recompressing a program.
  96.  
  97.  
  98. 05-24-95 ■ Version 2.24
  99.  
  100.          . Fixed a problem in ZIP'R Pro where attempting to execute
  101.            multiple instances of the same program (on a network or under
  102.            a multitasker) could cause an intermittent problem where
  103.            the first instance would not wait for the second instance
  104.            to close before attempting to compress the selected program.
  105.  
  106.  
  107. 05-23-95 ■ Version 2.23
  108.  
  109.          . Fixed a obscure problem where an archive created with
  110.            PKZIP and recreated/updated using Internal ZIP would delete
  111.            some and/or all files from the compressed file and report the
  112.            error message "Error Compressing ZIP File.  No Matching Files in
  113.            Protocol Transmit".  This problem would occur only if the
  114.            program files were stored in a sub-directory (ie, an alternate
  115.            program parent directory was specified), and the compressed
  116.            file was located in a directory other than the program's main
  117.            directory.
  118.  
  119.  
  120. 05-22-95 ■ Version 2.22
  121.  
  122.          . Completed initial rewrite of ZIP'R Pro.  New code is better
  123.            organized and much easier to understand, allowing us to find
  124.            and fix problems faster, and potentially add new features in
  125.            future releases.  Code rewrite saved approximately 20K in the
  126.            .EXE size and another 21K in the .OVR size.
  127.  
  128.          . Isolated a potential problem with Internal ZIP compression
  129.            (introduced as a result of the previous 2 fixes) where the
  130.            compression routines would attempt to compress the ZIP file
  131.            as it was being created.  Added a routine to cycle through
  132.            all files in the compression list to make sure that the
  133.            ZIP file is not included in the final compression mask list.
  134.  
  135.          . Fixed a problem with Internal ZIP compression where the New
  136.            File List (used for Update mode) was not being created correctly
  137.            when the compressed file was located in a directory other than
  138.            the program's main directory.  This could result in an error
  139.            message "Error Compressing ZIP File.  No Matching Files in
  140.            Protocol Transmit", and the ZIP file would not be updated
  141.            properly.
  142.  
  143.          . Fixed a problem with Internal ZIP compression where the wrong
  144.            files would be included in the ZIP file if the compressed file
  145.            was located in a directory other than the program's main
  146.            directory.  (This could have caused data loss, due to the fact
  147.            that the program files had been deleted, even though they had
  148.            not been added into the ZIP file.  The deleted files could be
  149.            recovered using UNDELETE.)
  150.  
  151.          . Fixed several instances where the compression signal file
  152.            would not be deleted if an error occurred creating and/or
  153.            comparing the file lists (for update mode) during the
  154.            recompression process.
  155.  
  156.          . Fixed two instances where the compression and decompression
  157.            signal files would not be deleted in the event that ZIP'R Pro
  158.            could not locate the compressed file directory.  ZIP'R Pro
  159.            would issue an error message and exit, without deleting the
  160.            signal file that had already been created.
  161.  
  162.          . Removed several unneeded (and unused) variables from the
  163.            program.
  164.  
  165.          . Changed the Selective Extraction, Selective Exclusion,
  166.            IN, OUT, TSR Pre-Program, and TSR Post-Program Commands to
  167.            a more efficient data structure, increasing available memory
  168.            for other operations.
  169.  
  170.          . Changed the standard error background screen from using a
  171.            textured pattern to using a backdrop similar to the one
  172.            found in ZifPro.
  173.  
  174.          . Removed the Accurate File Size Calculation, Cluster Size
  175.            Calculation, and Cluster Size variables from ZIP'R Pro.  The
  176.            cluster size is now calculated automatically, and the disk
  177.            space requirements are calculated based on exact figures, as
  178.            well.
  179.  
  180.          . Added internal support to read the headers out of .ARJ,
  181.            .LHA, and .ZIP files.  This will allow ZIP'R Pro to perform
  182.            disk space requirement calculations internally, without
  183.            needing to shell to each of these programs.  (This added
  184.            about 4K to the EXE size.)
  185.  
  186.          . Started work on MAJOR coding changes and improvements in
  187.            ZIP'R Pro.
  188.  
  189.  
  190. 04-27-95 ■ Version 2.21
  191.  
  192.          . Enhanced the appearance of the headers on the ZIP'R Pro button
  193.            menu and added support for keyboard users to use the F3 key
  194.            to edit the currently highlighted button.
  195.  
  196.          . Added support for a ZIP Decompression Options variable to
  197.            be read and used from the ZPD file.  This value will match the
  198.            ZIP Compression Options value, except that it will exclude the
  199.            settings for "Disable Network Detection" and "Use Slow
  200.            MemCopy", which are not applicable for PKUNZIP.  This new
  201.            value will be passed to PKUNZIP on the command line.
  202.            Previously, the PKZIP/PKUNZIP troubleshooting options were
  203.            being passed to PKZIP on the command line, but not to PKUNZIP.
  204.            This will fix that problem.
  205.  
  206.          . Added support for the new floppy option called "No Action",
  207.            which does not erase the files and directories from the
  208.            floppy diskette before creating a new compressed file.
  209.            (Note: This feature can be dangerous if the user does not
  210.            fully understand what is taking place.  Be sure to read the
  211.            new section in the docs entitled "Compressing To Floppy Disks".)
  212.  
  213.          . Fixed a problem where ZIP'R Pro was not prompting users
  214.            to enter a diskette in the disk drive before compressing
  215.            a program to a floppy diskette in instances where the Query
  216.            option was disabled.  If the user did not have a diskette
  217.            in the drive an "Unknown (or Unhandled) Error" message would
  218.            be displayed.  The diskette prompting screen will now be
  219.            displayed before any program is compressed to a floppy
  220.            drive.
  221.  
  222.          . Created a literal string unit containing all strings that
  223.            are read from the INI and ZPD files and used variable
  224.            references instead of literal strings, reducing the chance
  225.            for typing or spelling errors.
  226.  
  227.          . Reduced the memory requirements for ZIPRPRO.EXE by reducing
  228.            the code size (a couple of unnecessary units were being
  229.            linked into the code).
  230.  
  231.          . Rewrote the reading routines to use some common reading
  232.            functions from our internal STSI libraries.
  233.  
  234.          . Properly disposed of several string pointers that were
  235.            allocated in the errors unit.
  236.  
  237.          . Added minor wording changes to the nag and query screens
  238.            to better direct users what action needs to be taken.
  239.  
  240.          . Removed custom exit procedure which could intermittently
  241.            produce invalid or inaccurate error address results.
  242.  
  243.  
  244. 03-13-95 ■ Version 2.20
  245.  
  246.          . Fixed a problem with internal ZIP compression that occurred
  247.            when the user specified a location for the Compressed File
  248.            that was different than where the program was being executed
  249.            from.  (Various error messages could be noted at the end of
  250.            the compression process.)  Internal ZIP was not changing to
  251.            the compressed file directory before creating the ZIP file,
  252.            causing it to be created in the wrong place.  Made sure that
  253.            new code changes to the compressed file directory before
  254.            creating the compressed file, and changes back to the program
  255.            (parent) directory after the compression process is finished.
  256.  
  257.  
  258. 02-16-95 ■ Version 2.19
  259.  
  260.          . Fixed a problem with internal compression where the error
  261.            "Could not erase the file nnn.ZIP" was being reported at
  262.            the end of the compression process on single-user systems.
  263.            This error message was generated as a result of an unsuccessful
  264.            call to the "SameFile" routine.  Although the error message
  265.            was being issued, this problem should not have affected the
  266.            user's data in any way.  (This error message did not appear
  267.            on network systems.)
  268.  
  269.  
  270. 01-26-95 ■ Version 2.18
  271.  
  272.          . Enabled the use of the arrow keys to move between buttons
  273.            on the button menu.
  274.  
  275.          . Fixed a minor cosmetic problem where the backdrop on the
  276.            button menu was not being redisplayed after the first time
  277.            a .ZPD file is created.
  278.  
  279.          . Made a minor cosmetic change to the ZIP'R Pro button menu
  280.            by changing the slant direction of the text in back of
  281.            the button menu.
  282.  
  283.  
  284. 11-24-94 ■ Version 2.17
  285.  
  286.          . Fixed a major problem where using Internal ZIP compression
  287.            to decompress a file would cause an error "Error opening
  288.            ZIP file.  File access denied".  The compressed file is
  289.            marked read-only at various times by ZIP'R Pro as a
  290.            precautionary measure, to prevent against accidental deletion,
  291.            either by ZIP'R Pro or any other source.  In this instance,
  292.            the compressed file was marked as read-only, but was not
  293.            returned to normal attributes before an attempt was made to
  294.            decompress it.  (This was due to a missing semi-colon after
  295.            a statement that needed to be terminated.)  This problem only
  296.            manifested itself on a true-blue Windows system, not on an
  297.            OS/2 Windows system (WIN-OS2 session).  (Since STSI's main
  298.            beta-testing platform is OS/2, this problem was not detected
  299.            until recently.)
  300.  
  301.          . Fixed an obscure problem where the file closing routine
  302.            for redirected files was not working properly when used
  303.            under Windows NT.  Old routine called Interrupt 21, with
  304.            AH=$3E.  New routine uses Pascal's internal Close command.
  305.            This would produce an error "Unable to create StringArray,
  306.            Status = 5" when calculating the disk space requirements
  307.            for a compressed file (only when the Accurate File Size
  308.            Calculation was set to level 3 or level 4).
  309.  
  310.  
  311. 11-16-94 ■ Version 2.16
  312.  
  313.          . Fixed a significant problem where the screen would be filled
  314.            with garbage characters immediately after trying to execute
  315.            ZIP'R Pro.  This behavior occurred if the Video Display was
  316.            set to Direct screen writes or Auto Detect with an EGA or
  317.            VGA monitor (and only if the prelog screen was supposed to
  318.            be displayed).  The direct screen writing was being done from
  319.            an overlaid unit, which called an assembly language OBJ file,
  320.            thus causing corruption on the screen.  This screen writing
  321.            procedure has been moved into a non-overlaid unit.  (This
  322.            problem was introduced in version 2.15, when overlays were
  323.            added.)
  324.  
  325.  
  326. 11-13-94 ■ Version 2.15
  327.  
  328.          . Overlaid ZIPRPRO.EXE to reduce the memory requirements needed
  329.            to perform operations, especially internal ZIP compression
  330.            and decompression.  Previously, users with memory limited
  331.            systems (less than 512K free before ZIP'R Pro was launched)
  332.            who chose to use internal ZIP compression would experience
  333.            an error #8 (insufficient memory) when compressing programs.
  334.            Now, users with as little as 465K free (before ZIP'R Pro is
  335.            launched) can use internal ZIP compression.
  336.  
  337.            IMPORTANT:  Although ZIP'R Pro only requires 465K of free
  338.            conventional memory, you must have at least enough conventional
  339.            memory to execute the program that is being launched through
  340.            ZIP'R Pro.  For example, if your program requires 540K of free
  341.            conventional memory, you must have at least 550K of free memory
  342.            before launching ZIP'R Pro.  (ZIP'R Pro's overhead, along with
  343.            the secondary command processor consume about 10K of memory.)
  344.            On the other hand, if your program only requires 400K of free
  345.            conventional memory, you must have at least 465K of free memory,
  346.            since this is the amount required by ZIP'R Pro, in order to
  347.            operate properly.
  348.  
  349.          . Stopped using the ERRORS.OPL library file.  Moved all error
  350.            messages back into the main EXE file to reduce the chance for
  351.            loss, corruption, or errors in this file.
  352.  
  353.          . Converted the error numbers given when using internal ZIP
  354.            compression into descriptive error messages.
  355.  
  356.  
  357. 10-28-94 ■ Version 2.14
  358.  
  359.          . Fixed a problem where one of ZIP'R Pro's error messages was
  360.            being truncated on the error message display screen.
  361.  
  362.          . Fixed a problem where the amount of memory being used when
  363.            ZIP'R Pro swapped itself out was much greater than it should
  364.            have been.  (OpExec was being referenced in more than 1 unit.)
  365.            Symptoms of this problem would be programs reporting "Out
  366.            of memory" errors when they were run through ZIP'R Pro.
  367.            As an example, one of our systems reported the following
  368.            figures:
  369.                                                  Old        New
  370.                                                 v2.13      v2.14
  371.  
  372.            Free Conventional Memory            627,840    627,840
  373.            After launching a program           568,640    617,136
  374.            ZIP'R Pro's overhead                 53,520      5,024
  375.  
  376.  
  377. 10-19-94 ■ Version 2.13
  378.  
  379.          . Modified code and documentation to comply with ASP
  380.            standards.  STSI is now an author member of the Association
  381.            of Shareware Professionals!
  382.  
  383.  
  384. 09-09-94 ■ Version 2.12
  385.  
  386.          . Added a command to make sure that the screen is cleared
  387.            after a RunTime error occurs.
  388.  
  389.          . Modified delays / nag screen code to comply with ASP
  390.            standards.  The prelog pause and delay are now entirely
  391.            optional, even in the unregistered version.  However, the
  392.            unregistered version will now display a registration
  393.            reminder screen when entering or exiting from ZIP'R Pro.
  394.  
  395.  
  396. 08-29-94 ■ Version 2.11
  397.  
  398.          . Moved about 225 error messages into a library (stream)
  399.            file, reducing the code size by about 15K.  Made sure
  400.            that ZIP'R Pro issues an appropriate error message if
  401.            the library file can't be located when an error condition
  402.            occurs.
  403.  
  404.          . Corrected a potential problem where the decompression
  405.            signal file was not being deleted at the end of the
  406.            decompression routine when using PKZIP.  The code was
  407.            accurate when using ARJ, LHA, or Internal ZIP, but PKZIP
  408.            code for this procedure was not included.
  409.  
  410.          . Corrected a potential problem where the attributes of the
  411.            compressed file were being set to read-only before attempting
  412.            to decompress it using ARJ, LHA, or PKUNZIP.  Made sure that
  413.            the attributes are set to Normal before decompressing it.
  414.  
  415.          . Streamlined the compression and decompression code by
  416.            combining the common parts of these processes for ARJ, LHA,
  417.            Internal ZIP and PKZIP.
  418.  
  419.  
  420. 08-22-94 ■ Version 2.10
  421.  
  422.          . Added code to make sure that ZIP'R Pro does not attempt
  423.            to display the button menu if no .ZPD files could be
  424.            found in the \ZIPRPRO sub-directory.
  425.  
  426.          . Added a command to reset the window coordintes after a
  427.            user selects a button from the button menu to make sure
  428.            that the DisplayPrelogValues routines write information
  429.            to accurate locations.  (This routine uses absolute screen
  430.            writing, requiring that the window be set to 1,1,80,25.)
  431.  
  432.          . Created two new routines to set the file attributes for
  433.            files to read-only and normal, and replaced numerous
  434.            instances in the code where the file was being manually
  435.            reset to specific attributes.
  436.  
  437.          . Corrected a potential problem where file attributes could
  438.            have been set on a non-existent compressed file.
  439.  
  440.          . Added support for the new button style menu to re-read the
  441.            directory after returning from executing the ZIF Editor.
  442.            In the event that files are created or deleted from the
  443.            ZIP'R Pro directory, ZIP'R Pro will regenerate the dialog
  444.            box to display an accurate collection of buttons.
  445.  
  446.          . Added a button style interface to ZIP'R Pro to make it more
  447.            user friendly.  When "ZIPRPRO.EXE" is executed without any
  448.            passed parameters, the new menu interface will pop up and
  449.            display a list of all available .ZPD files.  Users can click
  450.            the left mouse button over a push button to execute the
  451.            corresponding program, or they can click the right mouse
  452.            button over a push button to invoke the ZIF Editor and edit
  453.            the corresponding file.
  454.  
  455.  
  456. 08-16-94 ■ Version 2.03
  457.  
  458.          . Fixed a major problem when using internal ZIP compression.
  459.            When attempting to recompress a program using the Update
  460.            option, users would receive an Error Number 5, (File Access
  461.            Denied).  The compressed file had been marked as read-only, and
  462.            therefore could not be initialized for any other action.  This
  463.            error condition did not appear when using a Novell network, so
  464.            internal beta-testing efforts did not catch the problem.  Added
  465.            code to make sure the compressed file's attributes were properly
  466.            set before any action to the file is attempted.
  467.  
  468.          . Updated the version number code in the registration
  469.            procedure.
  470.  
  471.          . Fixed several Clear-Screen problems by replacing the
  472.            built-in Clear-Screen command with a custom routine
  473.            that resets the Window to 1,1, 80,25.
  474.  
  475.  
  476. 07-18-94 ■ Version 2.02
  477.  
  478.          . Enhanced ZIP'R Pro's ability to handle "overwrite" error
  479.            messages generated by PKUNZIP.EXE or ARJ.EXE.  When either
  480.            of these programs detects a file on the hard drive that
  481.            already exists in the compressed file, they will issue an
  482.            overwrite message, prompting the user whether or not the
  483.            file should be replaced with the one located in the
  484.            compressed file.  Each of these programs will then generate
  485.            an exit code, which normally causes ZIP'R Pro to cease the
  486.            program execution and terminate.  Since these errors are
  487.            non-fatal errors, ZIP'R Pro now offers users the choice of
  488.            whether to continue with normal program execution or not.
  489.  
  490.            Why is this necessary?  The most common need for this feature
  491.            is when programs such as Central Point Anti-Virus or Microsoft
  492.            Anti-Virus place "CHKLIST.CPS" or "CHKLIST.MS" files in each
  493.            directory when a virus scan is executed on a user's computer.
  494.            The first time this happens, the compressor (PKZIP, for example)
  495.            adds the left-over virus file into the archive.  The next time
  496.            a virus scan is executed, PKUNZIP detects that a file by the
  497.            same name exists in the program directory, generates an exit
  498.            code, and thus causes ZIP'R Pro to terminate execution.  (This
  499.            could prove to be frustrating, since a file by this name is
  500.            placed in EVERY scanned directory.)  ZIP'R Pro will now detect
  501.            if an overwrite message occurs, and will display a message
  502.            box, allowing the user the option of whether to continue
  503.            with the normal program execution or not.
  504.  
  505.  
  506.          . Fixed a problem where ZIP'R Pro was not trapping and
  507.            reporting errors that occurred during the decompression
  508.            process.  Instead, ZIP'R Pro would simply error out, and
  509.            terminate program execution.  (This bug was introduced
  510.            in version 2.00.)
  511.  
  512.  
  513. 07-11-94 ■ Version 2.01
  514.  
  515.          . Version 2.01 of ZIP'R Pro contains an updated INSTALL.EXE
  516.            file.  One of our users reported that InocuLAN (by Cheyenne
  517.            Software) was reporting an occurrence of the Tony-H virus in
  518.            the INSTALL.EXE file.  We believe this was a false-positive
  519.            report, and not cause for alarm.  However, we are releasing
  520.            ZIP'R Pro 2.01 with the INSTALL.EXE file in uncompressed
  521.            format.  Also, the file BONUS.DOC has been removed.
  522.  
  523.  
  524. 06-29-94 ■ Version 2.00
  525.  
  526.          . Added support for a user-specified compression mode.
  527.            Valid values are BestMethod, Deflate, Implode, Shrink,
  528.            and Store.
  529.  
  530.          . Added support for a user-specified deflate level when
  531.            using internal ZIP compression.
  532.  
  533.          . Added support for user-specified implode values when using
  534.            internal ZIP compression.
  535.  
  536.          . Converted the ClrScr w/Error Message calls to use the
  537.            HandleError procedure.
  538.  
  539.          . Changed the ProcessErrorCode procedure to a function.
  540.  
  541.          . Modified the HandleError procedure to allow it to process
  542.            error codes that must be passed to the ShowErrorMessage
  543.            procedure.
  544.  
  545.          . Changed the DeletedFiles variable in the COMP unit from a
  546.            literal string to a boolean.
  547.  
  548.          . Changed the MatchingFileFound variable in the COMP unit from
  549.            a literal string to a boolean.
  550.  
  551.          . Added code to only display the gauge window when necessary and
  552.            resize the compression window depending on whether the gauge
  553.            window is displayed or not.
  554.  
  555.          . Changed gauge window display to be indented rather than out-
  556.            dented.
  557.  
  558.          . Added a fail-safe check to the DeleteAllFilesExcept routine
  559.            to make sure that the current directory is not the root
  560.            directory of a hard drive.
  561.  
  562.          . Added a fail-safe check to make sure that the Accurate File
  563.            Size Calculation displays Level 4 on the prelog screen when
  564.            Internal ZIP is being used.  (With Internal ZIP, all calculations
  565.            are 100% accurate.)
  566.  
  567.          . Changed the directory existence checks to use a procedure from
  568.            a commercial library, instead of our own STSI library.  Our
  569.            procedure was not handling root directories properly.
  570.  
  571.          . Added code to read the current entry when decompressing a .ZIP
  572.            file with the Internal ZIP code.  New code makes sure that any
  573.            imbedded directories are created if they do not exist.  Any
  574.            directory entries contained without files are discarded.  This
  575.            allows more complete compatibility with PKWare's PKZIP.  Previous
  576.            code would cause a decompression error to occur.
  577.  
  578.          . Moved all of the DrawHeader and DrawCompressionScreen calls inside
  579.            of the ZPExec routine, where possible.  This fixed a problem where
  580.            incorrect messages were sometimes displayed during the compression
  581.            or decompression processes.
  582.  
  583.          . Fixed several issues relating to the display of the decompression
  584.            query box that pops up when a duplicate file exists on the hard
  585.            drive.  Widened the available display for the filename and
  586.            potential directory entry, and added fail-safe code to truncate
  587.            these on the left side if they get too long.
  588.  
  589.          . Modified the remaining routines in the COMP, DECOMP, and
  590.            EXECUTE units to use the HandleError procedure.
  591.  
  592.          . Created a common procedure in the COMP unit to contain the
  593.            compression signal file related detection and creation
  594.            code.
  595.  
  596.  
  597. 06-20-94 ■ Version 1.28  (Internal BETA Version - Not Released!)
  598.  
  599.          . Fixed a problem where the screen was not being cleared after
  600.            windowed decompression.  Added a reset of the screen and
  601.            color output.
  602.  
  603.          . Modified shadows on compression and decompression screens
  604.            to be completely black.
  605.  
  606.          . Added a command to reset the Window coordinates before
  607.            attempting to write the file count or twirling bars display
  608.            to the screen.  After adding several window-relative routines,
  609.            both displays were being written to a relative window, instead
  610.            of the absolute screen coordinates.
  611.  
  612.          . Fixed a problem where the title and copyright notice on the
  613.            Query screen started "disappearing" after other Internal
  614.            ZIP windowing routines had been implemented.  Used window-
  615.            relative screen writing instead of absolute screen writing.
  616.  
  617.          . Created a textured background screen for the Internal ZIP
  618.            compression and decompression windows.
  619.  
  620.          . Added a "Moving files.  Please wait!" header to the display
  621.            screen when files are being deleted after the compression
  622.            process.
  623.  
  624.          . Added a call to the UpdateGaugeWindow procedure during the
  625.            file deletion process to provide a visual progress indicator.
  626.  
  627.          . Altered the DeleteAllFilesExcept procedure to use a direct
  628.            directory search to delete files, instead of a FileMaskList
  629.            generated from the original archive file.  This allows the
  630.            procedure to work in all situations.
  631.  
  632.          . Changed the name of the stDeleteFilesIntZIP procedure to
  633.            DeleteAllFilesExcept.
  634.  
  635.          . Created a header window to be used for displaying status
  636.            messages during the compression / decompression processes.
  637.            This replaces old code which simple used absolute screen
  638.            writing.
  639.  
  640.          . Added a bar graph and compression/decompression window
  641.            to be used when Internal ZIP is used as the compression
  642.            type for a program.  The bar graph is updated depending on
  643.            the current file vs. the total files to be compressed or
  644.            the total files located inside the ZIP file.
  645.  
  646.          . Created a common HandleError procedure in the Errors unit
  647.            to centralize the compression/decompression error handling.
  648.  
  649.          . Created a common LaunchExternalDecompressor procedure in the
  650.            Decomp unit, reducing final .EXE code size by about 2K.
  651.  
  652.          . Worked around a problem where an empty sub-directory would
  653.            cause an error #2 during the compression process (File Not
  654.            Found).
  655.  
  656.          . Set up a file counter to keep track of the total number
  657.            of files that will be compressed into the internal ZIP
  658.            generated file.
  659.  
  660.          . Enabled sub-directory creation during internal ZIP
  661.            decompression.
  662.  
  663.          . Added code to recurse sub-directories during the internal
  664.            ZIP compression process.
  665.  
  666.          . Made sure that the compression and decompression signal
  667.            files are erased if an error occurs during internal ZIP
  668.            compression or decompression.
  669.  
  670.          . Added code to call the Done routine if an error occurs
  671.            during the internal ZIP compression / decompression
  672.            processes.
  673.  
  674.          . Created a routine to calculate the exact disk space
  675.            needed for extracting a ZIP file when using the
  676.            internal ZIP compression / decompression routines.
  677.  
  678.          . Added preliminary support for internal PKZIP 2.0
  679.            compatible compression and decompression.
  680.  
  681.  
  682. 06-10-94 ■ Version 1.27
  683.  
  684.          . No coding changes.
  685.  
  686.  
  687. 05-26-94 ■ Version 1.26
  688.  
  689.          . Changed the AddBackSlash procedure to stAddBackSlash
  690.            when generating the ZIPRProPath.  stAddBackSlash adds
  691.            a backslash when the last character in the path is a
  692.            colon.
  693.  
  694.          . Modified the behavior of the prelog screen display
  695.            to prevent the screen from being displayed if the
  696.            PrelogDelay was set to 0.
  697.  
  698.          . Fixed a problem where the prelog screen was being
  699.            displayed when the PrelogType was set to NONE.
  700.  
  701.          . Changed all "Halt" statements to "stHalt(?)", where
  702.            ? is the ERRORLEVEL.
  703.  
  704.          . Changed an error message in the DECOMP unit to use
  705.            an stTVMessageBox.
  706.  
  707.  
  708.  
  709. 04-22-94 ■ Version 1.25
  710.  
  711.          . No modifications.  (See ZIFPRO.REV for modifications
  712.            to the ZIF Editor Pro.
  713.  
  714.  
  715. 03-26-94 ■ Version 1.24
  716.  
  717.          . Removed all /CLEANUP option code from ZIPRPRO.  This
  718.            option is now available from the ZIF Editor.  A code
  719.            size reduction of about 11K was achieved.
  720.  
  721.          . Modified code so that ZIP'R Pro does not execute the
  722.            program when the /TEST parameter is being used.  It
  723.            simply displays the parameters and exits.
  724.  
  725.          . Changed the "TEST" parameter to "/TEST".
  726.  
  727.          . Fixed a problem where the compression signal file
  728.            was not being deleted if an error occured while
  729.            attempting to test the archive integrity.
  730.  
  731.          . Fixed a problem where an error message was not being
  732.            issued if a compression or decompression signal file was
  733.            detected.  ZIPRPRO would simply exit, with no warning.
  734.  
  735.          . Created enumerated types for PrelogType and
  736.            RegisteredVersion, replacing the literal strings used
  737.            previously.
  738.  
  739.          . Re-worked the INI and ZIF test display procedures to
  740.            use string arrays.  This change reduced the code
  741.            size slightly, and substantially reduced the complexity
  742.            of these procedures.
  743.  
  744.          . Converted the ScanActivityIndicator string variable
  745.            to an enumerated type.  Corrected a problem where a
  746.            mis-spelling of a literal string could have caused
  747.            the Twirling Bars to fail to work.
  748.  
  749.          . Added a common function to search for ARJ, LHA,
  750.            PKZIP, and PKUNZIP in their respective paths, the
  751.            ZIP'R Pro path, and the DOS PATH before calling
  752.            any of these programs.  The common function reduced
  753.            the code size by .5K.
  754.  
  755.          . Modified code to check for the existence of a backslash
  756.            at the end of the ARJ, LHA, and ZIP paths after they
  757.            are read from the .INI file.  If a trailing backslash
  758.            is not detected, one is added.
  759.  
  760.  
  761. 03-10-94 ■ Version 1.23
  762.  
  763.          . Modified an error message about the program parent
  764.            directory not being present to be more accurate by
  765.            stating that either the program parent directory or
  766.            the main program directory is not present.
  767.  
  768.          . Converted the FloppyFormat variable to an enumerated
  769.            type within the code for easier variable-checking.
  770.  
  771.          . Added a ZPExec procedure that contains all compression
  772.            and decompression related Exec functions.  (Code size
  773.            reduction of 6.5K.)
  774.  
  775.          . Moved several boolean variables into the INI and ZIF
  776.            records, to make the code more concise.
  777.  
  778.          . Changed the default value for SubdirectoryDeletion to
  779.            True.
  780.  
  781.          . Changed If..Else If statments in Errors unit to a Case
  782.            statement to make the code shorter and more concise.
  783.  
  784.          . Moved all common string literal declarations into a new
  785.            ZPSTRING unit.
  786.  
  787.          . Increased the estimated string array size for Exclude,
  788.            Extract, IN, OUT, TSRPre, and TSRPost commands.
  789.  
  790.          . Converted CompressionType literal strings to an
  791.            enumerated type.
  792.  
  793.          . Changed all error message strings that were passed as
  794.            variables to a global routine into an enumerated type.
  795.            This allows automatic compiler validation, and shortened
  796.            the code by over 10K.
  797.  
  798.  
  799. 03-03-94 ■ Version 1.22
  800.  
  801.          . Added 3D effects to query and error screen dialog boxes.
  802.  
  803.          . Added an IOResult check and corresponding error message
  804.            if the ProgramParent directory can not be successfully
  805.            created on a RAM Disk.
  806.  
  807.          . Circumvented a potential problem in the compression and
  808.            decompression routines where a default value for the
  809.            Compression and Decompression Swap parameters was not
  810.            being set.  The compression procedure would issue an
  811.            error message under this circumstance.  Altered the
  812.            code to provide a fail-safe parameter assignment.
  813.  
  814.          . Corrected a problem in the ARJ Decompression procedure
  815.            where the "Default" Decompression Swap parameter was
  816.            not being read.
  817.  
  818.          . Added code to convert the ZIPRPROPath to upper case.
  819.  
  820.          . Removed several "EraseDecompressionSignalFile"
  821.            statements from the beginning of the DecompressZipFile
  822.            procedure.  This file had not yet been created at
  823.            this point in the procedure.
  824.  
  825.          . Corrected a problem where the update option was not
  826.            working properly.  (Broken in 1.22, not released.)
  827.  
  828.          . Fixed a problem where a runtime error 202 would occur
  829.            if the file PKUNZIP.EXE could not be found.  The
  830.            runtime error would be issued prior to displaying the
  831.            error message from ZIPRPRO.  (Increased stack.)
  832.  
  833.          . Added automatic ProgramParent directory creation if
  834.            extracting to a RAM disk.
  835.  
  836.          . Added preliminary support for extraction to a RAM disk.
  837.  
  838.          . Corrected a problem where an error message would be
  839.            issued if the "Program" directory did not exist.  This
  840.            created a problem if a "Program Parent" directory was
  841.            specified, since the program directory might not exist
  842.            under this circumstance.
  843.  
  844.          . Corrected a problem where the .N?? file was not being
  845.            deleted if errors were detected when checking the
  846.            validity of the values in the .INI and .ZIF files.
  847.  
  848.          . Shortened several code segments by using better coding
  849.            techniques.
  850.  
  851.          . Corrected a potential problem where the .SXT signal
  852.            file could be mistakenly deleted by ZIPRPRO.
  853.  
  854.          . Combined the Done and DoneNoSXTDelete routines into a
  855.            common procedure.  Added an enumerated type variable
  856.            to pass to this procedure, informing it of any
  857.            restrictions to observe.
  858.  
  859.  
  860. 02-26-94 ■ Version 1.21
  861.  
  862.          . Corrected minor spacing / carriage return problems on
  863.            dialog box (Query) screens.
  864.  
  865.          . Corrected a potential problem where the /CLEANUP option
  866.            would delete files in the current directory, not the
  867.            ZIPRPRO sub-directory, if launched from a directory
  868.            other than the ZIPRPRO sub-directory.
  869.  
  870.          . Corrected a problem where a runtime error 2 would occur
  871.            in the CreateSubDirectoriesUnderOS2 procedure, because
  872.            an Else statement was omitted.
  873.  
  874.          . Streamlined the code by creating two erase file routines
  875.            to replace the separate erase routines used previously.
  876.  
  877.  
  878. 02-16-94 ■ Version 1.20
  879.  
  880.          . Fixed a major problem where the original .ZIP file
  881.            could be deleted if the executable file could not be
  882.            found and update option was enabled.  (Data loss could
  883.            occur in this situation, especially if Selective
  884.            Extraction or Selective Exclusion was enabled.)
  885.  
  886.          . Added support to erase the *.DFL, *.NFL, *.OFL, and
  887.            *.DIR files when using the /Cleanup option.
  888.  
  889.          . Added support to manually create subdirectories when
  890.            operating under OS/2.  This option will circumvent a
  891.            potential problem where PKUNZIP cannot create sub-
  892.            directories under OS/2.  (This problem has been reported
  893.            to PKWare.)
  894.  
  895.          . Updated IFDEF and IFNDEF statements throughout the code
  896.            to minimize code size for each module.
  897.  
  898.          . Moved several string pointer variables into the INI and
  899.            ZIF record variables.
  900.  
  901.          . Reduced the ARJ and LHA default memory requirements
  902.            to more realistic levels.
  903.  
  904.          . Re-compiled with updated libraries.
  905.  
  906.          . Corrected a problem in the stTV3ChoiceBox procedure
  907.            that caused the box to be too narrow to properly
  908.            center a long header.
  909.  
  910.          . Added support to display the Command Processor and
  911.            ZIP'R Pro Path information in the new style message
  912.            boxes.
  913.  
  914.          . Corrected a problem where the TestFlag boolean was
  915.            not being set early enough in the code to display
  916.            the INI Parameters screen.  (%2 = TEST)
  917.  
  918.          . Added support to display the .INI Parameters in the
  919.            new style message boxes.
  920.  
  921.          . Added all missing .ZPD Parameters to the ZPD Parameter
  922.            display procedure.  Added code to display the first
  923.            10 INCommands, OUTCommands, ExcludeFiles, ExtractFiles,
  924.            TSRPreProgramCommands, and TSRPostProgramCommands.
  925.  
  926.          . Added support to read old style .ZPD files, prior
  927.            to current version.  (Set internal flags if the new
  928.            UseINCommands, UseOUTCommands, UseTSRPreCommands,
  929.            and UseTSRPostCommands variables could not be found
  930.            in the .ZPD file.)
  931.  
  932.          . Added support to display the .ZPD Parameters in the
  933.            new style message boxes.
  934.  
  935.          . Fixed a problem in the stTV3ChoiceBox procedure, that
  936.            caused a system hang if the maximum number of lines
  937.            exceeded the pre-defined limit.
  938.  
  939.          . Added support to read UseINCommands, UseOUTCommands,
  940.            UseTSRPreCommands, and UseTSRPostCommands variables
  941.            from the .ZPD file.
  942.  
  943.  
  944. 01-30-94 ■ Version 1.19a  (Internal Release)
  945.  
  946.          . Corrected a problem where the swap file name was not
  947.            being passed to the swapping exec procedure.  (This
  948.            problem was introduced, in version 1.20, when the
  949.            common exec swapping functions were created.)
  950.  
  951.          . Added support to specify whether EMS memory is to be
  952.            used over XMS memory for the swapping exec procedure.
  953.            The default behavior is to use EMS first, but may be
  954.            overridden.
  955.  
  956.          . Added support to swap to XMS memory during program
  957.            execution, if available.  Previously, only EMS or
  958.            disk was used for the swap file.
  959.  
  960.          . Modified the swapping-related procedure calls to force
  961.            a swap (default) as a fail-safe procedure.
  962.  
  963.          . Modified the WindowedCompression and WindowedDecompression
  964.            procedure calls to automatically force windowed mode
  965.            (default) as a fail-safe procedure.
  966.  
  967.          . Converted all execute calls to use the new procedures.
  968.  
  969.          . Removed the STSI2 unit from the uses clause to prevent
  970.            unnecessary compilation.
  971.  
  972.          . Corrected a problem where the swap file (.SWF extension)
  973.            was not being erased when the /Cleanup option was
  974.            specified.  (This file has the system attribute set.)
  975.  
  976.          . Created common execution functions to reduce code
  977.            size and complexity.
  978.  
  979.          . Corrected a potential problem where the compressed
  980.            file could have been deleted, if an incorrect value
  981.            for CompressionSwap or DecompressionSwap was read from
  982.            the .INI file.
  983.  
  984.          . Converted the internal SortedExtraction variable
  985.            to a Boolean type.
  986.  
  987.          . Corrected a problem where the .INI file was not
  988.            being read prior to checking the cleanup password.
  989.  
  990.          . Changed the behavior of the cleanup password
  991.            procedure to not prompt for a password if the
  992.            password is blank.
  993.  
  994.          . Converted internal WindowedCompression and
  995.            WindowedDecompression variables to Boolean types.
  996.  
  997.          . Reduced the memory requirement default values for
  998.            PKZIP and PKUNZIP.  (New default swapping option will
  999.            be added to the ZIF Editor.)
  1000.  
  1001.          . Re-worked the .INI and .ZIF read routines to make the
  1002.            code faster and more concise.
  1003.  
  1004.          . Added support for the new INIVersion, ZIFVersion,
  1005.            UseDiskForExecSwap, UseEMSForExecSwap, and
  1006.            UseXMSForExecSwap parameters.
  1007.  
  1008.          . Re-arranged the order and placement of passed parameter
  1009.            related code, to allow the disposal of unnecessary
  1010.            pointer variables.
  1011.  
  1012.          . Modified dialog box code to allow centering or left
  1013.            justification.
  1014.  
  1015.          . Changed all error messages to be displayed using the
  1016.            new style dialog boxes.
  1017.  
  1018.          . Converted all query screens to the new style.
  1019.            Corrected various punctuation problems in the text
  1020.            of the new screens.
  1021.  
  1022.          . Modified cleanup password field to automatically
  1023.            convert characters entered to upper case.
  1024.  
  1025.          . Corrected a problem in the swapping Exec routines
  1026.            where the executed program would hang.  (This problem
  1027.            was caused by the mouse handler routines not being
  1028.            disabled before performing the swap, and was introduced
  1029.            in version 1.20.)
  1030.  
  1031.          . Added password protection for the /Cleanup option.
  1032.  
  1033.          . Updated prelog screen to show the amount of Heap memory
  1034.            available.
  1035.  
  1036.  
  1037. 01-20-94 ■ Version 1.19
  1038.  
  1039.          . Added additional error messages for new error checking
  1040.            procedures, and corrected a typo in a separate error
  1041.            message.
  1042.  
  1043.          . Enhanced the conventional memory available routine to
  1044.            provide a more accurate estimate of the amount of
  1045.            conventional memory available on the system.  (This
  1046.            figure approximates the free memory reported by MEM.)
  1047.  
  1048.          . Corrected a problem where the logic controlling the
  1049.            loading of a command processor was backwards when
  1050.            executing a .BAT or .BTM file
  1051.  
  1052.          . Added a check to force a command processor to be
  1053.            loaded if the program to be executed contains a
  1054.            .BAT or .BTM extension.
  1055.  
  1056.          . Added support to execute the desired program without
  1057.            loading a command processor first.  This increases
  1058.            the memory available to the program by about 3-5K.
  1059.  
  1060.          . Removed unnecessary "Continue" statements from the
  1061.            INI and ZIF file read routines.
  1062.  
  1063.          . Converted internal string pointer variables to use
  1064.            INI and ZIF records.
  1065.  
  1066.          . Added support in the TSR Container file section to
  1067.            use the AlternateEXELaunchDirectory feature.
  1068.  
  1069.          . Fixed a problem where the "CALL" statement was not
  1070.            being placed in front of the program name in the TSR
  1071.            Container file if the Parameters field was blank.
  1072.  
  1073.          . Corrected a potential problem where the current drive
  1074.            and directory was not being set prior to executing
  1075.            OUT commands.  This could have been a problem if the
  1076.            current drive and/or directory was changed during
  1077.            program execution, such as when shelling to DOS.
  1078.  
  1079.          . Added support for an alternate EXE launch directory
  1080.            to make it possible to launch a program from a
  1081.            directory other than the one in which the executable
  1082.            file resides.  (The program does NOT have to be an
  1083.            EXE file.)  This feature allows programs, such as
  1084.            Microsoft Works, Borland Pascal, and others, to be
  1085.            executed from a data subdirectory.
  1086.  
  1087.          . Added preliminary support for string encryption and
  1088.            decryption.
  1089.  
  1090.  
  1091. 01-06-94 ■ Version 1.18
  1092.  
  1093.          . Improved the Conventional memory estimate on the
  1094.            prelog screen to more accurately reflect the amount
  1095.            of memory available after swapping.
  1096.  
  1097.          . Updated the BIOS screens to match the direct-write
  1098.            screens.
  1099.  
  1100.          . Added support for AUTO, DIRECT, and BIOS screen write
  1101.            modes.  This should help to solve any screen-related
  1102.            compatibility problems that might exist.
  1103.  
  1104.          . Added video mode detection when using the AUTO screen
  1105.            writes option.
  1106.  
  1107.          . Updated the prelog screen to display the status of the
  1108.            Use Atomic Lock Files option.
  1109.  
  1110.          . Updated the prelog screen to display the Selective
  1111.            Extraction (SXT) and Selective Exclusion (SXC) entries
  1112.            separately.  (If either option is disabled, the
  1113.            corresponding entry count will be 0.)
  1114.  
  1115.          . Updated the prelog screen to display the status of the
  1116.            new Subdirectory Deletion option.
  1117.  
  1118.          . Added support to NOT delete sub-directories when using
  1119.            PKZIP v2.04g.  This switch is necessary when an OS/2
  1120.            system is operating on a network in combination with
  1121.            other systems.  Due to some sort of conflict, sub-
  1122.            directories can not be re-created under OS/2.  (Unsure
  1123.            whether this is an OS/2, NetWare Requester, or PKZIP
  1124.            caused problem.)  This switch can only be used with
  1125.            PKZIP v2.04g.
  1126.  
  1127.          . Added preliminary support for compression program version
  1128.            number tracking.  Future versions of ZIP'R Professional
  1129.            may support compression program features that might not
  1130.            be available in previous versions of the compression
  1131.            program.
  1132.  
  1133.          . Corrected an alignment problem on the FileCount indicator.
  1134.  
  1135.          . Added a FileCount / Twirling Bar indicator to the AFSC
  1136.            Level 4 screen to display the progress of the file size
  1137.            scanning.  (Due to the high scanning speed, this feature
  1138.            will be useful only on compressed files with an extremely
  1139.            high number of files.)
  1140.  
  1141.  
  1142. 01-01-94 ■ Version 1.17
  1143.  
  1144.          . Corrected a problem where .SXT signal files were not
  1145.            being deleted when the /CLEANUP switch was used.
  1146.  
  1147.          . Corrected a possible ambiguity in the ExecDOS error
  1148.            messages.  (#-5 changed to # -5.)
  1149.  
  1150.          . Updated the AFSC routines to use integer division, which
  1151.            eliminates the extra rounding step needed for reals.
  1152.  
  1153.          . Corrected a problem in the AFSC Level 4 (ZIP) calculation
  1154.            procedure that would cause erroneous calculations.  (The
  1155.            file size returned would always be 0.)
  1156.  
  1157.  
  1158. 12-27-93 ■ Version 1.16
  1159.  
  1160.          . Fixed a problem where an extra hyphen was being prepended
  1161.            to the compression command line.
  1162.  
  1163.          . Added CompressionOptions support to the ARJ and LHA
  1164.            compression procedures.  (LHA does not currently support
  1165.            this feature.)
  1166.  
  1167.          . Fixed a problem where the CompressionOptions field in the
  1168.            .ZPD file was not being passed to PKZIP.
  1169.  
  1170.          . Fixed a minor problem where ".ZIP" was hard-coded onto the
  1171.            Query For Compression screen.  If ARJ or LHA was being used,
  1172.            the screen would still say that the resulting compressed file
  1173.            would have a .ZIP extension.
  1174.  
  1175.          . Added an additional check for PKZIP.EXE before decompressing
  1176.            a .ZIP file when using Selective Extraction or Selective
  1177.            Exclusion.  This is important, because when these options are
  1178.            enabled, the program MUST be re-compressed to preserve all
  1179.            data files.
  1180.  
  1181.          . Fixed a potential problem where the existence of PKZIP.EXE
  1182.            was not being verified before deleting files from the
  1183.            original .ZIP file.
  1184.  
  1185.          . Fixed a potential problem where ZIP'R Professional was not
  1186.            verifying the existence of PKUNZIP.EXE and PKZIP.EXE before
  1187.            attempting to create the temporary file lists.
  1188.  
  1189.          . Added an additional check to attempt to locate the selected
  1190.            compressor on the DOS PATH.  ZIP'R Professional will use the
  1191.            path specified in the ZIPRPRO.INI file if the program exists.
  1192.            If the program cannot be found, the ZIPRPRO directory is
  1193.            searched.  If this search fails, the DOS PATH is searched.
  1194.  
  1195.  
  1196. 12-25-93 ■ Version 1.15
  1197.  
  1198.          . Cleaned up some internal routines related to cleaning up
  1199.            signal files before exiting ZIP'R Professional.
  1200.  
  1201.          . Changed the .ZPD and .INI file read routines to reduce
  1202.            overhead and increase speed.
  1203.  
  1204.  
  1205. 12-22-93 ■ Version 1.14
  1206.  
  1207.          . Added error reporting to the error trapping sections of
  1208.            the IN Command, Program, and OUT Command routines.  If an
  1209.            error is detected in any of these routines, ZIP'R Pro will
  1210.            report the error and query the user whether to continue.
  1211.            The error reporting routines will also report whether the
  1212.            error was generated by the command processor (Error Code)
  1213.            or by the IN Command, OUT Command, or Program (Exit Code).
  1214.  
  1215.          . Corrected a problem in the Accurate File Size Calculation
  1216.            routines where the selective extraction and exclusion
  1217.            entries were still being used, even if the file was being
  1218.            decompressed from a floppy disk.
  1219.  
  1220.          . Fixed a major problem where data loss could occur if the
  1221.            compressed file was stored on a floppy diskette, and
  1222.            selective extraction or selective exclusion was enabled.
  1223.            This is a rather rare combination of options, but since
  1224.            data loss is likely, it is prudent to upgrade previous
  1225.            versions of ZIP'R Professional For DOS.
  1226.  
  1227.          . Corrected a problem where the cursor would disappear
  1228.            following some query screens.
  1229.  
  1230.          . Added /CLEANUP option to erase all signal files from the
  1231.            ZIPRPRO sub-directory.  This option should be used with
  1232.            care to ensure that no other processes are using ZIP'R
  1233.            Professional.
  1234.  
  1235.  
  1236. 12-20-93 ■ Version 1.13
  1237.  
  1238.          . Corrected a problem where a program that is executed
  1239.            using a batch file, that also used a TSR container file
  1240.            would not return control to ZIP'R Professional for
  1241.            re-compression.  The solution was to "CALL" the batch
  1242.            file from the TSR container file.
  1243.  
  1244.          . Corrected a problem where the Decompression Signal File
  1245.            might not get deleted under some error situations.
  1246.  
  1247.          . Completed the transfer of code to common units to allow
  1248.            code sharing between different components of the ZIP'R
  1249.            Professional series of programs.
  1250.  
  1251.          . Added conditional defines to allow code sharing between
  1252.            ZIP'R Professional For DOS and the ZProcessor component
  1253.            of ZIP'R Professional For Windows.
  1254.  
  1255.          . Isolated a problem creating sub-directories under OS/2
  1256.            to the use of "Global" network sessions.  The Novell
  1257.            OS/2 requestor handles directory creation differently
  1258.            under global or private network sessions.  ZIP'R Pro
  1259.            should be used in a private session if sub-directories
  1260.            must be re-created.
  1261.  
  1262.          . Checked into a potential problem with AFSC Level 4 if
  1263.            the lines were too long, and wrapped on the screen.
  1264.            The function used to handle the string to long integer
  1265.            conversion correctly handles this situation, and ignores
  1266.            any strings that it can't convert.  No action necessary.
  1267.  
  1268.  
  1269. 12-05-93 ■ Version 1.12
  1270.  
  1271.          . Added error checking to make sure that compression
  1272.            cannot occur to floppy drives unless the compression
  1273.            program being used is PKZIP.  (Other compression
  1274.            programs do not currently support spanning floppies.)
  1275.  
  1276.          . Changed the way ZIP'R Professional deals with the
  1277.            attributes of a compressed file that resides on a
  1278.            floppy diskette.  The attributes of these files
  1279.            will not be changed, since we do not know which
  1280.            diskette is in the drive, and multiple diskettes
  1281.            may be required to store the compressed file.
  1282.  
  1283.          . Fixed a problem with floppy compression where the
  1284.            query for compression floppy diskette was occurring
  1285.            too late.  This caused programs to be compressed
  1286.            to floppy diskettes properly, but they could not be
  1287.            decompressed.  (After further checking, the programs
  1288.            could be decompressed, but the prompt for the
  1289.            decompression floppy disk was in the wrong position.
  1290.            A work-around was to simply make sure that the disk
  1291.            was in the drive.)
  1292.  
  1293.          . Added Compress/Decompress and TSR Entries indicators
  1294.            to prelog screen.  Separated Net/Multi to be two
  1295.            separate indicators, and added code to detect them
  1296.            individually.
  1297.  
  1298.          . Added a program halt command following the error
  1299.            message display if the ZIPRPRO.INI file cannot be
  1300.            found.
  1301.  
  1302.          . Corrected a problem where the .ZIP file was not
  1303.            being deleted if Update mode and Compress/Decompress
  1304.            only mode were enabled.
  1305.  
  1306.          . Added code to force a total decompression if
  1307.            "Compress/Decompress Only" is enabled.  This will
  1308.            prevent problems if all files are not extracted.
  1309.  
  1310.          . Corrected a problem where the .DSF file was not
  1311.            being deleted under various circumstances in the
  1312.            decompression module.
  1313.  
  1314.          . Corrected a potential problem where logging to a
  1315.            non-existent program or program parent directory
  1316.            was not calling the "Done" procedure.
  1317.  
  1318.          . Removed unnecessary ZipName pointer variable, and
  1319.            replaced with CompressedFileName pointer variable.
  1320.  
  1321.          . Corrected a problem where the .DSF (Decompression
  1322.            Signal File) was not being deleted if an error
  1323.            occurred during the CheckSpaceForDecompression
  1324.            procedure.  (This problem could manifest itself
  1325.            if the compressed file was corrupt.)
  1326.  
  1327.  
  1328. 11-26-93 ■ Version 1.11
  1329.  
  1330.          . Added error message if Selective Exclusion is enabled,
  1331.            but no file specifications have been entered.
  1332.  
  1333.          . Corrected problems where three delete routines were
  1334.            not marking the compressed file with normal attributes,
  1335.            generating a run-time error.  (Code 5, File Access
  1336.            Denied)  This error would occur when query mode was
  1337.            enabled, and the program was not re-compressed.
  1338.  
  1339.          . Updated random filename generator code in the DECOMP
  1340.            procedure to use the new method for generating
  1341.            random filename prefixes.
  1342.  
  1343.          . Added "Selective Exclusion" feature to complement
  1344.            Selective Extraction.  Selective Exclusion allows
  1345.            certain files or groups of files to be excluded
  1346.            from extraction.
  1347.  
  1348.          . Changed the prelog screen to display the number of
  1349.            Selective Extraction files (entries) and the number
  1350.            of simultaneous ZIPRPRO licenses.
  1351.  
  1352.  
  1353. 11-21-93 ■ Version 1.10
  1354.  
  1355.          . Changed the logic in the prelog screen to highlight
  1356.            Query Option if Selective Extraction is enabled, but
  1357.            the compression type is not ZIP.
  1358.  
  1359.          . Changed the countdown code on the prelog screen to
  1360.            count to 0.
  1361.  
  1362.          . Added code to mark the compressed file as ReadOnly
  1363.            during ZIPRPRO operations.  This should help to
  1364.            reduce the chances of accidently deleting the original
  1365.            compressed file during update mode (inconvenience) or
  1366.            during selective extraction (potential disaster).
  1367.  
  1368.          . Added code to mark all signal and temporary files
  1369.            ReadOnly, to prevent other processes from erasing them.
  1370.            Also added code to mark files as normal before attempting
  1371.            to delete them.
  1372.  
  1373.          . Corrected a problem where the atomic lock files were
  1374.            not being closed properly after creation.
  1375.  
  1376.          . Re-worked the token and temporary file creation and
  1377.            detection routines to use variable names and file
  1378.            extensions that fit their function.
  1379.  
  1380.          . Moved the code to generate a random filename prefix
  1381.            to a separate, common procedure, reducing the
  1382.            complexity of the routines that require these names.
  1383.  
  1384.          . Added error message codes to trap the condition if
  1385.            more than one users attempts to access a compressed
  1386.            file when Selective Extraction is turned on.
  1387.  
  1388.          . Fixed a problem where the .TK1 file was being created
  1389.            on programs that did not need to be decompressed, and
  1390.            the .TK1 file was not being deleted.
  1391.  
  1392.          . Moved .TK1 and .TK2 file detection and creation to a
  1393.            common area of the DecompressZipFile procedure.
  1394.  
  1395.          . Changed the signal file checking order to accomodate
  1396.            the new Selective Extraction .SXT file.
  1397.  
  1398.          . Fixed a problem where the Selective Extraction .SXT
  1399.            signal file was being created in error.  (A non-atomic
  1400.            file was being created.)
  1401.  
  1402.          . Added code to limit access to the compressed file if
  1403.            selective extraction is being used by any user.
  1404.  
  1405.          . Added error message code to trap the condition if
  1406.            Selective Extraction is turned on, but no files are
  1407.            entered for extraction.
  1408.  
  1409.          . Corrected a problem where the procedure to calculate
  1410.            the space required to decompress the compressed file
  1411.            was being executed when the compression type was NONE,
  1412.            and no compressed file existed.
  1413.  
  1414.          . Checked out a potential problem with PKUNZIP erroring
  1415.            out if files specified for extraction did not exist.
  1416.            It turns out that PKUNZIP simply ignores this type of
  1417.            error, eliminating the need to deal with it in ZIPRPRO.
  1418.  
  1419.          . Added code to disable Query mode if using Selective
  1420.            Extraction.  (This is necessary to insure the integrity
  1421.            of the original compressed file, and to prevent errors
  1422.            when attempting to decompress files a second time.)
  1423.  
  1424.          . Corrected problems in the CheckSpaceForDecompression
  1425.            procedure where an EXIT was being executed before the
  1426.            selective extraction container file was generated.
  1427.  
  1428.          . Revised the code in the CalculateExactFileSize routine
  1429.            to base its calculations on the list of files to be
  1430.            extracted, if Selective Extraction is enabled.
  1431.  
  1432.          . Added the more rigid compressed file type checking to
  1433.            the internal CalculateExactFileSize, DecompressZipFile,
  1434.            and CheckSpaceForDecompression procedures.
  1435.  
  1436.          . Eliminated the automatic detection of compressed file
  1437.            archive types.  Now, the type of compressed file must
  1438.            match the compression type specified in the .ZPD file.
  1439.            (If users wish to change compression types, they must
  1440.            use a compression type of "NONE" for one pass.  Then,
  1441.            the file may be re-compressed with the new compressor.)
  1442.  
  1443.          . Added fail-safe code to the prelog screen procedure
  1444.            that will show grayed-out check marks if any options
  1445.            have been disabled by ZIP'R Professional.
  1446.  
  1447.          . Updated prelog screen to show the status of the new
  1448.            "Selective Extraction" option.
  1449.  
  1450.          . Added support for "Selective Extraction" when using
  1451.            PKZIP/PKUNZIP.
  1452.  
  1453.  
  1454. 11-15-93 ■ Version 1.00
  1455.  
  1456.          . Initial release of ZIP'R Professional For DOS.
  1457.